Initialization with Arguments(带参数初始化对象)
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
很多时候,你需要在对象初始化的时候将指定的值赋给对象的实例变量。
例如:一个坐标对象在初始化的时候,需要将它的实例变量(属性)x
和y
的值初始化成指定值。在这种情况下,该类可以定义一个带参数初始化的方法,例如:
id pt = [[Point alloc] initWithX: 1.5 Y: 2.0];
或者还可以这样来初始化:
id pt = [Point newWithX: 1.5 Y: 2.0];
// 当然也可以是下面那样
id pt = [Point pointAtX: 1.5 Y: 2.0];
在Objective-C中,习惯用比较直观的名字来定义初始化函数,就像上面那样,很直观地看出是要初始化哪些实例变量。
更多地有关初始化的细节,在第四章中的实例对象初始化一节可以找到。
最后,初始化方法有时候会返回一个nil
对象,比如内存不足或者传递了错误的参数啊,比如NSString
类的方法initWithContentsOfFile
,将一个文件内容读入到字符串中,而文件名是错误的…
在线练习
{$ activeFileHint $}